Initialization

(*This notebook was last updated on*)
DateString[]

(*Inner product of two complex vectors*)
IP[{ψ1_,ψ2_}]:=ψ1.ψ2\[Conjugate];
(*Square of the absolute value of the inner product of two complex vectors*)
IP2[{ψ1_,ψ2_}]:=ComplexExpand[IP[{ψ1,ψ2}]*IP[{ψ2,ψ1}]];
(*Pairwise inner product*)
PIP[lst_]:=IP/@Subsets[lst,{2}];
PIP2[lst_]:=IP2/@Subsets[lst,{2}];
(*Check if all elements of the list "lst" are equal to "elem"*)
EqualTo[lst_,elem_]:=Equal@@Append[lst,elem];
(*Check if a set of vectors form a SIC-POVM*)
CheckSICPOVM[lst_]:=Module[{n=Length@lst[[1]]},
And[
If[Length@lst==(n^2),True,Print["There must be ",(n^2)," vectors!"];False],
If[EqualTo[PIP2@lst,(1/(n+1))],True,Print["The value of |⟨(Subscript[ψ, i])|(Subscript[ψ, j])⟩((|)^2) must be ",(1/(n+1)),"!"];False],
If[True,True,Print["All vectors must be unit vectors!"];False]]
];
(*Check if a set of vectors form a regular simplex*)
CheckSimplex[lst_]:=Module[{n=Length@lst-1},
And[
If[Length@lst==n+1,True,Print["There must be ",n+1," vectors!"];False],
If[EqualTo[PIP@lst,-(1/n)],True,Print["The value of ⟨(Subscript[ψ, i])|(Subscript[ψ, j])⟩ must be ",-(1/n),"!"];False],
If[True,True,Print["All vectors must be unit vectors!"];False]]
];

(*Get the Bloch vector corresponding to the given qubit state*)
GetBlochVector[ψ_]:=Module[{ρ,Ψ},
ρ=(1/2)((({{1, 0}, {0, 1}}))+x(({{0, 1}, {1, 0}}))+y(({{0, -I}, {I, 0}}))+z(({{1, 0}, {0, -1}})));Ψ=(({{ψ[[1]]}, {ψ[[2]]}}));
FullSimplify[{x,y,z}/.Solve[ρ==Ψ.Ψ\[ConjugateTranspose]][[1]]]
];
(*Get the qubit state corresponding to the given Bloch vector*)
GetQubitState[{0,0,-1}]:={0,1};
GetQubitState[{x_,y_,z_}]:={(Sqrt[((z+1)/2)]),((x+I y)/(Sqrt[2(z+1)]))};

(*Display a 3-dimensional arrow*)
ahz=1.0;
Arrow3D[{p1_,p2_}]:=Module[{n=20,h=ahz*0.16,w=ahz*0.04,z,x,y,i,d,pts},
{z,x,y}=Select[Orthogonalize[{p2-p1,Sequence@@IdentityMatrix[3]}],(Norm[#]≠0)&];
pts=Table[p2-h*z+w*(Cos[2π i/n]x+Sin[2π i/n]y),{i,0,n-1}];
{Line[{p1,p2-h*z}],EdgeForm[],Polygon@pts,Polygon[#~Append~p2]&/@Partition[pts,2,1,{1,1}]}];

(*Display a tetrahedron with the given vertices*)
AxesLabels=MapThread[Text[Style[#1,22,Italic],1.5#2]&,{{"x","y","z"},IdentityMatrix[3]}];
ThreeAxes={Blue,Thickness[0.006],Arrow3D[{-#,#}]&/@(1.3IdentityMatrix[3]),AxesLabels};
ShowTetrahedron[pts_,gr_:{}]:=Graphics3D[{gr,ThreeAxes,{Red,PointSize[0.02],Point@pts},Opacity[0.9],Polygon/@Subsets[pts,{3}]},Boxed->False,Lighting->"Neutral",ViewPoint->1.5{2,1,0.5}];

(*Display one of the polyhedrons described below*)
Polyhedron[name_]:={Yellow,Opacity[0.1],GraphicsComplex[pts@name,Polygon[fcs@name]]};

(* C U B E *)
pts["Cube"]=Tuples[{-1,1},3]/(Sqrt[3]);
fcs["Cube"]={{1,2,4,3},{5,6,8,7},{1,2,6,5},{3,4,8,7},{1,3,7,5},{2,4,8,6}};

(*Compute the determinant for all n-element subsets of the given list of vectors*)
Dets[lst_]:=Simplify@ToRadicals[Det/@Subsets[lst,{Length@lst[[1]]}]];

(*Compute the Gram matrix*)
Gram[M_]:=M.M\[ConjugateTranspose];

(*Display the list of complex numbers as points in the complex plane*)
ShowPoints[lst_]:=Graphics[{PointSize[0.02],Blue,Point[{Re@#,Im@#}]&/@Flatten[lst]},Axes->True];

1. Constructions in (ℝ^n)

1.1. Regular simplex in (ℝ^n) embeded into (ℝ^(n+1))

The simplest way to obtain the coordinates of n+1 vertices of a regular simplex in (ℝ^n) is to embed it into (ℝ^(n+1)). Then the coordinates of the vertices are the cyclic permutations of (1/(Sqrt[n(n+1)]))(({{-n, 1, 1, ⃛, 1}}))∈(ℝ^(n+1)).

Simplex[n_]:=(1/(Sqrt[n(n+1)]))(ConstantArray[1,{n+1,n+1}]-(n+1) IdentityMatrix[n+1]);

Table[MatrixForm[Simplex[i]\[Transpose]],{i,1,4}]
Table[CheckSimplex@Simplex[i],{i,1,4}]

1.2. Recursive construction of a regular simplex

There is a recursive way to construct a regular simplex that is centered at the origin and inscribed in a unit sphere. For example, regular simplex in 1 dimension is just a line segment from -1 to 1. To construct a regular triangle, we take this line segment and just add a new point in the 2nd dimension. However, we must do some additional operations if we want the obtained simplex to be centered at the origin and inscribed in a unit sphere. For example, to construct a tetrahedron, we take a regular triangle in the xy-plane, scale it down by a certain amount, then push it down by a certain amount along z axis and finally add a new point on z axis with z coordinate equal to 1. In general we rescale the previous simplex by factor c=((Sqrt[(n^2)-1])/n) and push it down by amount r=-(1/n).

T[0]:={{}};
T[n_]:=Module[{v,r,c},
v=Prepend[Map[Prepend[c*#,r]&,T[n-1]],Prepend[Table[0,{n-1}],1]];
v/.{c->((Sqrt[(n^2)-1])/n),r->-(1/n)}];

Table[MatrixForm[T[i]\[Transpose]],{i,1,5}]
Table[CheckSimplex@T[i],{i,1,5}]

1.3. Construction in the non-negative orthant

This is a construction of n vectors in the non-negative orthant of (ℝ^n), sucht that the inner product between any two of them is (1/(Sqrt[n+1])). Sometimes this set of vectors can be extended to a SIC-POVM. The construction works as follows. The first vector we take to be (({{1, 0, 0, 0, 0, ⃛}})). Then the next must be (({{(Subscript[α, 1]), (Subscript[β, 1]), 0, 0, 0, ⃛}})), where (Subscript[α, 1])=(1/(Sqrt[n+1])) and (Subscript[β, 1])=(Sqrt[(n/(n+1))]). The third vector we take to be of the form (({{(Subscript[α, 1]), (Subscript[α, 2]), (Subscript[β, 2]), 0, 0, ⃛}})), where (Subscript[α, 1]^2)+(Subscript[α, 2])(Subscript[β, 1])=(1/(Sqrt[n+1])) and (Subscript[β, 2])=(Sqrt[1-(Subscript[α, 1]^2)+(Subscript[α, 2]^2)]). Next we take (({{(Subscript[α, 1]), (Subscript[α, 2]), (Subscript[α, 3]), (Subscript[β, 3]), 0, ⃛}})) and so on. Notice that each time only two components of the previous vector must be modified - the penultimate component must be modified to get the right inner product with the previous vector and the last component must be modified to normalize the vector. Probably it is possible to find a simpler construction that achieves the same result. For dimensions n=2, n=3, n=4 it is possible to extend this set of vectors to a complete SIC-POVM (see Section 2.1., 3.2., 4.1.). However, numerical experiments suggest that it is not possible for n=5.

α[k_]:=(1/(k-1+(Sqrt[n+1])))β[k-1];
(Subscript[c, 1])[k_]:=k(k-1);
(Subscript[c, 2])[k_]:=1-(((k-1))^2);
β[0]=1;
β[k_]:=(Sqrt[((n+(Subscript[c, 1])[k]((1/(Sqrt[n+1]))-1))/(n+(Subscript[c, 2])[k]))]);
NOn[n_]:=Module[{lst,i,j},Table[PadRight[Table[α[j],{j,1,i-1}]~Append~β[i-1],n],{i,2,n}]~Prepend~PadRight[{1},n]];
NO[nn_]:=Limit[NOn[nn],n->nn]

Table[MatrixForm[NOn[i]\[Transpose]],{i,1,4}]
FullSimplify[PIP@NOn[5],n>0]

For n=20 the components of the last vector (({{(Subscript[α, 1]), (Subscript[α, 2]), (Subscript[α, 3]), ⃛, (Subscript[α, n-1]), (Subscript[β, n])}})) are distributed as follows.

ListLinePlot[Limit[Last@NOn[20],n->20],PlotMarkers->Automatic,AxesOrigin->{0,0}]

2. SIC-POVMs for n=2

2.1. The simplest construction

The simplest possible SIC-POVM. Without loss of generality we can take the first vector to be (({{1}, {0}})). Thus the first component of the remaining vectors must have absolute value (1/(Sqrt[3])). Without loss of generality we can take it to be exactly (1/(Sqrt[3])), since we can ignore the global phase of each vector. Thus the second component of the remaining vectors must have absolute value (Sqrt[(2/3)]). Since we can multiply the i-th row by any phase, we can choose the second component of the second vector to be exactly (Sqrt[(2/3)]). The second component of the remaining vectors is obtained by adding an appropriate phase to (Sqrt[(2/3)]). Note that the first two vectors coincide with those obtained using non-negative orthant construction.

POVM21={
{1,0},
{(1/(Sqrt[3])),(Sqrt[(2/3)])},{(1/(Sqrt[3])),(Sqrt[(2/3)]) (E^((2 I π)/3))},{(1/(Sqrt[3])),(Sqrt[(2/3)]) (E^(-((2 I π)/3)))}};
CheckSICPOVM@POVM21

The Bloch vectors corresponding to these states are the vertices of a regular tetrahedron whose one face is parallel to xy-plane. The pairwise inner product of the Bloch vectors is -(1/3).

GetBlochVector/@POVM21
ShowTetrahedron@%

2.2. Taking 4 vertices of a cube

Here is another construction of SIC-POVM in two dimensions.

POVM22={
{(Sqrt[(1/2)-(1/(2 (Sqrt[3])))]),((1-I)/(Sqrt[6-2 (Sqrt[3])]))},{(Sqrt[(1/2)-(1/(2 (Sqrt[3])))]),((-1+I)/(Sqrt[6-2 (Sqrt[3])]))},
{(Sqrt[(1/2)+(1/(2 (Sqrt[3])))]),((-1-I)/(Sqrt[6+2 (Sqrt[3])]))},{(Sqrt[(1/2)+(1/(2 (Sqrt[3])))]),((1+I)/(Sqrt[6+2 (Sqrt[3])]))}};
CheckSICPOVM@%

This time the tetrahedron is obtained by  taking 4 vertices of a cube, such that no two are adjacent. The coordinates of the vertices of a cube that is centered at the origin and inscribed in a unit sphere is (1/(Sqrt[3]))(({{±1}, {±1}, {±1}})).

{{1,-1,-1},{-1,1,-1},{-1,-1,1},{1,1,1}}/(Sqrt[3])
Simplify[GetQubitState/@%==POVM22]
ShowTetrahedron[%%,Polyhedron["Cube"]]

2.3. Tetrahedron with 2 edges parallel to coordinate axes

This SIC-POVM is obtained from another construction of a tetrahedron in 3 real dimensions.

POVM23={
{(Sqrt[(1/2)+(1/(2 (Sqrt[3])))]),(Sqrt[(1/2)-(1/(2 (Sqrt[3])))])},{(Sqrt[(1/2)+(1/(2 (Sqrt[3])))]),-(Sqrt[(1/2)-(1/(2 (Sqrt[3])))])},
{(Sqrt[(1/2)-(1/(2 (Sqrt[3])))]),I(Sqrt[(1/2)+(1/(2 (Sqrt[3])))])},{(Sqrt[(1/2)-(1/(2 (Sqrt[3])))]),-I(Sqrt[(1/2)+(1/(2 (Sqrt[3])))])}};
CheckSICPOVM@%

In this case two edges of the tetrahedron are parallel to the x and y axes respectively.

GetBlochVector/@POVM23
ShowTetrahedron[%]

3. SIC-POVMs for n=3

3.1. Extending SIC-POVM for n=2

This SIC-POVM is obtained from the first SIC-POVM in 2 dimensions described in Section 2.1. The idea is similar to that used to construct a tetrahedron in 3 dimensions from a regular triangle in 2 dimensions described in Section 1.2.

POVM31={
{1,0,0},{(1/2),((I (Sqrt[3]))/2),0},{(1/2),-((I (Sqrt[3]))/2),0},
{(1/2),(1/2),(1/(Sqrt[2]))},{(1/2),(1/2),((E^((2 I π)/3))/(Sqrt[2]))},{(1/2),(1/2),((E^(-((2 I π)/3)))/(Sqrt[2]))},
{(1/2),-(1/2),(1/(Sqrt[2]))},{(1/2),-(1/2),((E^((2 I π)/3))/(Sqrt[2]))},{(1/2),-(1/2),((E^(-((2 I π)/3)))/(Sqrt[2]))}};
CheckSICPOVM@%

Note that the first vector from the first row together with three vectors from any of the remaining rows resemble the SIC-POVM described in Section 2.1.

POVM31[[{1,4,5,6}]]
POVM31[[{1,7,8,9}]]
POVM21

If we take all components of all vectors and plot them in the complex plane, we get the following picture.

ShowPoints@POVM31

For each triple of vectors from the SIC-POVM we can make a matrix whose columns consist of the chosen vectors. Then we can compute the determinants of all these matrices and plot the obtained complex number in the complex plane. The resulting picture looks as follows.

ShowPoints@Dets@POVM31

Compute the gram matrix and plot its entries in the complex plane.

ShowPoints@Gram@POVM31

3.2. Non-negative orthant construction

This SIC-POVM is obtained by extending the set of vectors obtained from the construction in the non-negative orthant described in Section 1.3.

POVM32={
{1,0,0},{(1/2),((Sqrt[3])/2),0},{(1/2),(1/(2 (Sqrt[3]))),(Sqrt[(2/3)])},
{(1/2),(I/2),-(I/(Sqrt[2]))},{(1/2),-(I/2),(I/(Sqrt[2]))},
{(1/2),(I/2),-(1/2)(Sqrt[(3/2)])+(I/(2 (Sqrt[2])))},{(1/2),-(I/2),-(1/2)(Sqrt[(3/2)])-(I/(2 (Sqrt[2])))},
{(1/2),(I/2)-(1/(Sqrt[3])),(I/(2 (Sqrt[2])))+(1/(2 (Sqrt[6])))},{(1/2),-(I/2)-(1/(Sqrt[3])),-(I/(2 (Sqrt[2])))+(1/(2 (Sqrt[6])))}};
CheckSICPOVM@%

If we take all components of all vectors and plot them in the complex plane, we get the following picture.

ShowPoints@POVM32

For each triple of vectors from the SIC-POVM we can make a matrix whose columns consist of the chosen vectors. Then we can compute the determinants of all these matrices and plot the obtained complex number in the complex plane. The resulting picture looks as follows.

ShowPoints@Dets@POVM32

Compute the gram matrix and plot its entries in the complex plane.

ShowPoints@Gram@POVM32

4. SIC-POVMs for n=4

4.1. Non-negative orthant construction

The columns of the following matrix correspond to the vectors that form the SIC-POVM. The first four vectors of this SIC-POVM are obtained from the construction in the non-negative orthant described in Section 1.3.

POVM41=(({{1, (1/(Sqrt[5])), (1/(Sqrt[5])), (1/(Sqrt[5])), (1/(Sqrt[5])), (1/(Sqrt[5])), (1/(Sqrt[5])), (1/(Sqrt[5])), (1/(Sqrt[5])), (1/(Sqrt[5])), (1/(Sqrt[5])), (1/(Sqrt[5])), (1/(Sqrt[5])), (1/(Sqrt[5])), (1/(Sqrt[5])), (1/(Sqrt[5]))}, {0, (2/(Sqrt[5])), (2/(5+(Sqrt[5]))), (2/(5+(Sqrt[5]))), (I/2)-(1/(2 (Sqrt[5]))), (I/2)-(1/(2 (Sqrt[5]))), -(I/2)-(1/(2 (Sqrt[5]))), -(I/2)-(1/(2 (Sqrt[5]))), (1/(4(Sqrt[5]))) (3-(Sqrt[5])+I (Sqrt[-10+10 (Sqrt[5])])), (1/(4(Sqrt[5]))) (3-(Sqrt[5])+I (Sqrt[-10+10 (Sqrt[5])])), (1/(4(Sqrt[5]))) (3-(Sqrt[5])-I (Sqrt[-10+10 (Sqrt[5])])), (1/(4(Sqrt[5]))) (3-(Sqrt[5])-I (Sqrt[-10+10 (Sqrt[5])])), (1/(4(Sqrt[5])))(-2-(Sqrt[-10+10 (Sqrt[5])])+I (5-(Sqrt[5]))), (1/(4(Sqrt[5]))) (-2+(Sqrt[-10+10 (Sqrt[5])])+I (5-(Sqrt[5]))), (1/(4(Sqrt[5]))) (-2+(Sqrt[-10+10 (Sqrt[5])])-I (5-(Sqrt[5]))), (1/(4(Sqrt[5]))) (-2-(Sqrt[-10+10 (Sqrt[5])])-I (5-(Sqrt[5])))}, {0, 0, (Sqrt[(1/2)+(1/(2 (Sqrt[5])))]), (Sqrt[(5/2)-(11/(2 (Sqrt[5])))]), (1/(2(Sqrt[5])))((Sqrt[-5+4 (Sqrt[5])-2 (Sqrt[-110+50 (Sqrt[5])])])+I (Sqrt[5-2 (Sqrt[5])])), (1/(2(Sqrt[5])))(-(Sqrt[-5+4 (Sqrt[5])+2 (Sqrt[-110+50 (Sqrt[5])])])+I (Sqrt[5-2 (Sqrt[5])])), (1/(2(Sqrt[5])))(-(Sqrt[-5+4 (Sqrt[5])+2 (Sqrt[-110+50 (Sqrt[5])])])-I (Sqrt[5-2 (Sqrt[5])])), (1/(2(Sqrt[5])))((Sqrt[-5+4 (Sqrt[5])-2 (Sqrt[-110+50 (Sqrt[5])])])-I (Sqrt[5-2 (Sqrt[5])])), (1/(2(Sqrt[10])))(-(Sqrt[5-(Sqrt[5])])-I (Sqrt[5+3 (Sqrt[5])+4 (Sqrt[-110+50 (Sqrt[5])])])), (1/(2(Sqrt[10]))) (-(Sqrt[5-(Sqrt[5])])+I (Sqrt[5+3 (Sqrt[5])-4 (Sqrt[-110+50 (Sqrt[5])])])), (1/(2(Sqrt[10]))) (-(Sqrt[5-(Sqrt[5])])+I (Sqrt[5+3 (Sqrt[5])+4 (Sqrt[-110+50 (Sqrt[5])])])), (1/(2 (Sqrt[10])))(-(Sqrt[5-(Sqrt[5])])-I (Sqrt[5+3 (Sqrt[5])-4 (Sqrt[-110+50 (Sqrt[5])])])), (1/(2(Sqrt[10]))) ((Sqrt[-5+3 (Sqrt[5])+2 (Sqrt[-290+130 (Sqrt[5])])])+I (Sqrt[5+(Sqrt[5])-4 (Sqrt[-290+130 (Sqrt[5])])])), (1/(2(Sqrt[10]))) ((Sqrt[-5+3 (Sqrt[5])-2 (Sqrt[-290+130 (Sqrt[5])])])-I (Sqrt[5+(Sqrt[5])+4 (Sqrt[-290+130 (Sqrt[5])])])), (1/(2(Sqrt[10]))) ((Sqrt[-5+3 (Sqrt[5])-2 (Sqrt[-290+130 (Sqrt[5])])])+I (Sqrt[5+(Sqrt[5])+4 (Sqrt[-290+130 (Sqrt[5])])])), (1/(2(Sqrt[10]))) ((Sqrt[-5+3 (Sqrt[5])+2 (Sqrt[-290+130 (Sqrt[5])])])-I (Sqrt[5+(Sqrt[5])-4 (Sqrt[-290+130 (Sqrt[5])])]))}, {0, 0, 0, (Sqrt[(6/(Sqrt[5]))-2]), (1/(2(Sqrt[5]))) ((Sqrt[10-4 (Sqrt[5])-(Sqrt[-290+130 (Sqrt[5])])])-I (Sqrt[2 (Sqrt[5])+(Sqrt[-10+10 (Sqrt[5])])])), (1/(2(Sqrt[5]))) ((Sqrt[10-4 (Sqrt[5])+(Sqrt[-290+130 (Sqrt[5])])])+I (Sqrt[2 (Sqrt[5])-(Sqrt[-10+10 (Sqrt[5])])])), (1/(2(Sqrt[5]))) ((Sqrt[10-4 (Sqrt[5])+(Sqrt[-290+130 (Sqrt[5])])])-I (Sqrt[2 (Sqrt[5])-(Sqrt[-10+10 (Sqrt[5])])])), (1/(2(Sqrt[5]))) ((Sqrt[10-4 (Sqrt[5])-(Sqrt[-290+130 (Sqrt[5])])])+I (Sqrt[2 (Sqrt[5])+(Sqrt[-10+10 (Sqrt[5])])])), (1/(2(Sqrt[5])))((Sqrt[2 (Sqrt[5])-(Sqrt[-10+10 (Sqrt[5])])])-I (Sqrt[10-4 (Sqrt[5])+(Sqrt[-290+130 (Sqrt[5])])])), (1/(2(Sqrt[5])))(-(Sqrt[2 (Sqrt[5])+(Sqrt[-10+10 (Sqrt[5])])])+I (Sqrt[10-4 (Sqrt[5])-(Sqrt[-290+130 (Sqrt[5])])])), (1/(2(Sqrt[5]))) ((Sqrt[2 (Sqrt[5])-(Sqrt[-10+10 (Sqrt[5])])])+I (Sqrt[10-4 (Sqrt[5])+(Sqrt[-290+130 (Sqrt[5])])])), (1/(2(Sqrt[5])))(-(Sqrt[2 (Sqrt[5])+(Sqrt[-10+10 (Sqrt[5])])])-I (Sqrt[10-4 (Sqrt[5])-(Sqrt[-290+130 (Sqrt[5])])])), (1/(2(Sqrt[5])))(-(Sqrt[10-4 (Sqrt[5])-(Sqrt[-290+130 (Sqrt[5])])])+I (Sqrt[2 (Sqrt[5])-5 (Sqrt[-58+26 (Sqrt[5])])])), (1/(2(Sqrt[5])))(-(Sqrt[10-4 (Sqrt[5])+(Sqrt[-290+130 (Sqrt[5])])])+I (Sqrt[2 (Sqrt[5])+5 (Sqrt[-58+26 (Sqrt[5])])])), (1/(2(Sqrt[5])))(-(Sqrt[10-4 (Sqrt[5])+(Sqrt[-290+130 (Sqrt[5])])])-I (Sqrt[2 (Sqrt[5])+5 (Sqrt[-58+26 (Sqrt[5])])])), (1/(2(Sqrt[5])))(-(Sqrt[10-4 (Sqrt[5])-(Sqrt[-290+130 (Sqrt[5])])])-I (Sqrt[2 (Sqrt[5])-5 (Sqrt[-58+26 (Sqrt[5])])]))}}));
POVM41=POVM41\[Transpose];
EqualTo[Rationalize@PIP2@N[POVM41],(1/5)]
EqualTo[Rationalize[Norm/@N[POVM41]],1]

If we take all components of all vectors and plot them in the complex plane, we get the following picture (some points lie on circles).

pts=Flatten@POVM41;
δ=(1/(Sqrt[4 (1+4)]));
circles={Circle[{0,0},#]&/@{(Sqrt[(1/10) (5-(Sqrt[5])+(Sqrt[-110+50 (Sqrt[5])]))]),(Sqrt[(1/10) (5-(Sqrt[5])-(Sqrt[-110+50 (Sqrt[5])]))])},Circle[{-δ,0},(1/2)]};
lines={Line[{{-(1/2) (Sqrt[(1/10) (5-(Sqrt[5]))]),-0.7},{-(1/2) (Sqrt[(1/10) (5-(Sqrt[5]))]),0.7}}]};
MapThread[{#1,Point[{Re@#,Im@#}]&/@#2}&,{{Red,Green,Blue,Black},POVM41\[Transpose]},1];
Graphics[{PointSize[0.02],%,Blue,circles,lines},Axes->True]

For each quadruple of vectors from the SIC-POVM we can make a matrix whose columns consist of the chosen vectors. Then we can compute the determinants of all these matrices and plot the obtained complex number in the complex plane. The resulting picture looks as follows.

ShowPoints@Dets@N@POVM41

Compute the gram matrix and plot its entries in the complex plane.

ShowPoints@Gram@N@POVM41

There are only 18 disctinct elements in the gram matrix.

{(I/(Sqrt[5])),(1/2)-(1/(2 (Sqrt[5])))+(1/2) I (Sqrt[-(2/5)+(2/(Sqrt[5]))]),-I (-(1/2)+(1/(2 (Sqrt[5]))))-(Sqrt[-(1/10)+(1/(2 (Sqrt[5])))]),-I (-(1/2)+(1/(2 (Sqrt[5]))))+(Sqrt[-(1/10)+(1/(2 (Sqrt[5])))]),((1/4)-(I/4))(1-(1/(Sqrt[5])))+((1/20)+(I/20)) (Sqrt[10+10 (Sqrt[5])]),((1/4)+(I/4))(-1+ (Sqrt[5]))-((1/20)-(I/20)) (Sqrt[-110+50 (Sqrt[5])]),((1/4)+(I/4))(-1+ (Sqrt[5]))+((1/20)-(I/20)) (Sqrt[-110+50 (Sqrt[5])]),((1/4)+(I/4))(1-(1/(Sqrt[5])))-((1/20)-(I/20)) (Sqrt[10+10 (Sqrt[5])])};
Flatten@{{%,%\[Conjugate]}\[Transpose],{(1/(Sqrt[5])),1}}
Length@%

5. Constructions in (ℂ^n)

5.1. First three elements of any SIC-POVM

We can apply a unitary transformation to the given SIC-POVM so that the first vector becomes (({{1, 0, 0, 0, ⃛}})). Then the first component of the remaining vectors can be taken equal to (1/(Sqrt[n+1])), since we can ignore the global phase for each vector. The second component of the second vector can be taken equal to (Sqrt[(n/(n+1))]), since we can multiply the i-th component of each vector by the same phase without affecting the inner products. Hence we can always transform our SIC-POVM so that the second vector becomes (({{(1/(Sqrt[n+1])), (Sqrt[(n/(n+1))]), 0, 0, ⃛}})). Finally, the third vector is of the form (({{(1/(Sqrt[n+1])), α, β, 0, ⃛}})) for some α=x+i y and β. The absolute value of the inner product of the 2nd and 3rd vectors gives us conditions for x and y.

v1={(1/(Sqrt[n+1])),(Sqrt[(n/(n+1))]),0};
v2={(1/(Sqrt[n+1])),x+I y,β};
Simplify[(v1.v2\[Conjugate])*(v1\[Conjugate].v2),n>0&&x∈Reals&&y∈Reals];
FullSimplify[%==(1/(n+1))]

This is an equation of a circle with center (({{-(1/(Sqrt[n(n+1)])), 0}})) and radius (1/(Sqrt[n])). Hence any SIC-POVM can be transformed so that the first three vectors become:

{{1,0,0},{(1/(Sqrt[n+1])),(Sqrt[(n/(n+1))]),0},{(1/(Sqrt[n+1])),(1/(Sqrt[n]))((E^(I φ))-(1/(Sqrt[n+1]))),(1/(Sqrt[n]))(Sqrt[n-2+((2 Cos[φ])/(Sqrt[n+1]))])}};

5.2. Zero in the 3rd component

Observe that the first three vectors of the SIC-POVM described in Section 3.1. have the 3rd component equal to 0. One might ask if this could happen in higher dimensions too. Unfortunately the answer is no.

v1={(1/(Sqrt[n+1])),(Sqrt[(n/(n+1))]),0};
v2={(1/(Sqrt[n+1])),x+I y,0};
Print["In order to have the correct inner product x and y must satisfy:"];
Simplify[(v1.v2\[Conjugate])*(v1\[Conjugate].v2),n>0&&x∈Reals&&y∈Reals];
ipcond=FullSimplify[%==(1/(n+1))]
Print["To have norm 1, x and y must satisfy:"];
normcond=FullSimplify[(v2.v2\[Conjugate])*(v2\[Conjugate].v2)==1,n>0&&x∈Reals&&y∈Reals]
Print["Both conditions describe circles. For n=2, n=3, n=4, n=5 they look as follows:"];
ContourPlot[Evaluate[{ipcond,normcond}/.n->#],{x,-1.5,1.5},{y,-1.5,1.5}]&/@{2,3,4,5}

Both conditions can be satisfied simultaneously only if there is a point common to both circles. This happens only when n=2 or n = 3.